package com.hyts.mvc.base.interceptor;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.chain.Filter;

/**
 * project-name:coffice-toolbox
 * package-name:com.hyts.mvc.handler
 * author:Libo/Alex
 * create-date:2019-06-16 18:10
 * copyright:libo-hyts-github
 * email:libo2dev@aliyun.com
 * description:此类主要用于:
 */
public interface Interceptor<T> extends Filter {

    @AllArgsConstructor
    enum IntercepterResult{
        SUCCESS(false),
        FAILURE(true);
        @Getter
        @Setter
        private boolean resultValue;
    }

    IntercepterResult before(T param);

    IntercepterResult after(T param);

}
